package shopping;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 常用工具类
 */
public class CommUtils {


    public static class DateUtils {
        /**
         * 校验开始日期和结束日期
         * 是否开启当前日期同满足 >=开始日期 并且 <= 结束日期得校验
         * @param startDate  开始日期
         * @param endDate 结束日期
         * @param isCurrenDate 是否开启当前日期校验
         * @return 返回是否校验通过
         */
        public static boolean checkValidDate(String startDate,String endDate,boolean isCurrenDate) {
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
            if(StringUtils.isBlank(startDate) || StringUtils.isBlank(endDate)) {
                return false;
            }
            try{
                Date sDate = simpleDateFormat.parse(startDate);
                Date eDate = simpleDateFormat.parse(endDate);
                if(isCurrenDate) {
                    Date curDate = new Date();
                    // (开始时间 <= 当前时间 <= 结束时间)
                    return curDate.after(sDate) && curDate.before(eDate);
                }
                return eDate.before(sDate);
            } catch (Exception e) {
                return false;
            }
        }
    }


    public static class StringUtils {
        /**
         * 校验字符串
         * 满足 空字符串、空对象、去除空格后空字符串
         * @param str 校验得字符啊
         * @return
         */
        public static boolean isBlank(String str) {
            if(str == "" || str == null || str.trim() == "") return true;
            return false;
        }

        /**
         * 校验非空字符串
         * @param str 校验得字符啊
         * @return
         */
        public static boolean isNotBlank(String str) {
            return !isBlank(str);
        }
    }


}
